The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users. Moreover, there is an increasing use of mobile communications and organization devices, such as mobile phones, laptop computers, and personal digital assistants (PDAs) that communicate via various wireless and mobile networking technologies which has prompted a corresponding increase in software applications and/or software packages which enable a communications provider to control transmission and reception of traffic in network elements obtained by a customer, such as an administrator of a company data system or an operator of a telecommunications system. Typically, the administrator or operator desires that the network elements are fully functional so that the administrator or operator can transmit and receive communications data to/from end users of terminals (e.g., mobile phones, laptop computers, personal computers, etc.).
Consider an operator who purchases a network element from the communications provider. The network element typically has a corresponding software package containing an array of transmission related features so that the network element can transmit and receive data. The transmission related features associated with the software package may facilitate various types of transmissions such as a packet-switched network (e.g., IP network) transmission or a circuit-switched network transmission from the network element for example. As will be appreciated by those skilled in the art, the communications provider typically influences the operator's use of a corresponding network element based on the terms of a software license associated with the network element.
To illustrate this point, consider the system 10 of FIG. 1, which includes a public network 12, such as a public Internet Protocol (IP) network like the Internet. In addition to the public network 12, the system 10 includes one or more private networks 24, such as local area networks (LANs). The private networks of an operator(s) (e.g., Operator Private Network 1 and Operator Private Network 2) can include license management servers such as client devices 26 and one or more network elements such as a Base Transceiver Station (BTS) 32. Additionally, as can be seen in FIG. 1, a communications provider (e.g., Provider Private Network) can include a device management (DM) server 28. The BTS 32, which is part of the operator network(s) (e.g., Operator Private Network 1 and Operator Private Network 2) is capable of transmitting and receiving communications data. While the BTS 32 in FIG. 1 is transmission equipment (i.e., a network element) that is capable of transmitting and receiving communications data, it should be understood, that the operator networks may also be capable of supporting any other suitable transmission equipment.
To facilitate communications between the public network 12 and network elements of the operator networks 24, each private network can further include a Gateway (GW) 16 interconnecting the public network and the private network.
In the system 10 of FIG. 1, the communications provider (e.g., Provider Private Network) can deploy licenses to license management servers of the operators (e.g., Operator Private Network 1, Operator Private Network 2), such as client device 26 via DM server 28 based on a corresponding software license associated with a software package required to operate BTS 32. It should be understood that, the communications provider may deploy licenses to the operators via any suitable means (i.e., without using the DM server 28 to transmit the license(s) to the client devices 26 of the operators), including but not limited to, transporting the licenses via ordinary mail on a compact disc (CD), a digital versatile disc (DVD) or the like. As appreciated by those skilled in the art, the terms of the software license may specify that the operator is entitled to use some, but not all, of the transmission related features associated with its network elements. As such, software license management by the communications provider allows delivery of unique software packages with limited functionality. For instance, private network operator 2 (i.e., Operator Private Network 2) may utilize the BTS 32 to transmit communications via a Global System for Mobile Communications (GSM) interface while prohibiting transmission using a Wideband Code Division Multiple Access (CDMA) communication interface for example, unless the operator purchases the additional transmission feature(s) and deploys (for example, downloads or receives via ordinary mail) a corresponding license(s).
As noted above, additional features such as transmission related features provided by the software package may be enabled by the operator by obtaining a corresponding license from the communications provider. For example, the operator may receive a license (via a download, transmission, etc.) from the communications provider. Once the license(s) is received by the operator, the licenses could be stored at a server which manages licenses (i.e., license management server). Subsequently, the operator may download the license to a network element such as BTS 32 and activate the license so that the transmission related feature is enabled.
Oftentimes operators encounter problems downloading a corresponding license from a license management server to a network element. For instance, the very feature(s) that the operator is seeking to enable in the software application may be a prerequisite to the connection with the license management server. The transmission network element (e.g. BTS) of the operator may require a certain type of transmission to the license management server (which may not be enabled in the software application) so that the operator can download a corresponding license to the transmission network element. This required transmission may be the transmission feature that the operator is seeking to enable in the software application by obtaining a corresponding license. For example, the operator may be required to remotely download the corresponding license(s) from the license management server to the network element via a packet-switched network transmission. The transmission feature of the software application which activates packet-switched network transmissions may be the precise feature that the operator wants to enable in the software application of the network element. However, since the software application corresponding to the transmission equipment of the operator may not have the packet-switched network transmission feature enabled, the operator may not be able to download a corresponding license to the network element in order to activate packet-switched network transmissions.
As will be appreciated by those skilled in the art, this situation presents a remote management deadlock, which is often seen in paradox, like the ‘chicken or the egg’ problem. The remote management deadlock problem is oftentimes seen as the ‘chicken and egg’ problem because a first event can not happen until a second event happens, and the second event can not happen until the first event happens. The two competing events create a deadlock.
In the scenario above, the operator desires to enable a packet-switched network transmission feature in the software application corresponding to transmission equipment (i.e., first event). However, the license management server can not send the corresponding license to the network element because the operator's network element does not have a packet-switched network transmission feature in the software application enabled and, thus does not have packet-switched network transmission capability to download the corresponding license(s) (i.e., second event) which creates a remote management deadlock problem.
Conventional mechanisms for solving the remote management deadlock problem typically utilize static timeout periods. For instance, features associated with a software application and/or software package are enabled for a certain transition period and are disabled after the transition period, if the corresponding license is not installed (e.g., features associated with the software application are subject to a trial period). Referring to the above example, upon commissioning the license management server(s), the corresponding software application may have all of the features enabled for a predetermined time period (i.e., trial period). As such, if the operator(s) desires to activate a packet-switched network transmission from the transmission equipment, the operator may download a corresponding license from the communications provider. (Alternately, the operator may receive the corresponding license from the communications provider using ordinary mail, or any other suitable means)
If the operator waits until after the predetermined time period (i.e., after the trial period) to download (or transmit) the corresponding license to the network element (via a license management server), the download attempt will fail. For instance, the network element of the operator no longer has the packet-switched network transmission capability to receive a license since the predetermined time period expired. Of course, the practical effect of not obtaining a corresponding license until after the predetermined time period still creates a likelihood that a remote management deadlock situation will occur, which oftentimes results in operator dissatisfaction and frustration since the operator's network equipment may be non-operational. The remote management deadlock problem can also increase consumption of network resources by the operator in order to resolve trouble reports resulting from situations in which operators are unable to enable the features they desire. Further, the remote management deadlock problem creates costly site visits to the operator's transmission equipment (e.g., BTS 32) so that the license can be downloaded locally to the operator's transmission equipment. Additionally, the remote management deadlock problem causes the operator to lose potential monetary gains since the operator's network may not be operational and thus, the operator may not be able to facilitate traffic communications for its customers.
In light of the shortcomings described above, it would be advantageous to develop a mechanism which avoids the remote management deadlock problem, allows the operator to download a corresponding license remotely to the operator's transmission equipment (i.e., network element(s)) after the expiration of a trial period, and enables a communications provider to charge operators separately for each additional feature of the applicable software application that they seek to enable.